home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-01 | 4.5 KB | 131 lines | [TEXT/MPS ] |
- /*
- File: DesktopAnimDraw.idl
-
- Contains: Declarations for the SOM based Screen Saver/Desktop drawing object.
-
- Version: Technology: 3/5/96 2/15/96 2/1/96 1/29/96 1/22/96 12/7/95 12/2/95 12/1/95 11/23/95 8/11/95 DesktopAnimation.i <9> <8> <7> <6> <5> <4> <3> <2> <1>
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1995-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
- */
-
-
- #ifndef __DESKTOPANIMDRAW_IDL__
- #define __DESKTOPANIMDRAW_IDL__
-
- #define USE_OLD_WINDOWREFS 1
-
- #include <AppleEvents.idl>
- #include <DesktopAnimBase.idl>
- #if !USE_OLD_WINDOWREFS
- #include <HIWindows.idl>
- #endif
- #include <Quickdraw.idl>
-
- interface DesktopAnimDraw : DesktopAnimBase
- {
- /* initialization/destruction */
- OSStatus Initialize(in AVIDType prefsDisplayID, in DesktopAnimModuleDescRef moduleDescRef,
- in DesktopAnimModuleInfo moduleInfo);
- #if USE_OLD_WINDOWREFS
- OSStatus Open(in RgnHandle fullRgn, in WindowRef drawWindow, in TextObject errorText,
- inout AbsoluteTime nextAnimateTime);
- #else
- OSStatus Open(in RgnHandle fullRgn, in HIWindow drawWindow, in TextObject errorText,
- inout AbsoluteTime nextAnimateTime);
- #endif
- OSStatus Close();
-
- /* Screen Savers only */
- OSStatus OpenRequest(in DesktopAnimModuleInfo moduleInfo, in TextObject errorText,
- out boolean initializeOK);
- OSStatus CloseRequest(in ScreenSaverUnfadeType unfadeReason, out boolean terminateOK);
-
- /* Animation */
- OSStatus Animate(in DesktopAnimFlags drawFlags, inout AbsoluteTime nextAnimateTime);
- OSStatus GetAnimateDrawingRgn(in RgnHandle drawRgn);
-
- /* Drawing */
- OSStatus Draw(in RgnHandle drawRgn, in AVIDType displayID, in DesktopAnimGraphicsPorts drawingPorts,
- in DesktopAnimFlags drawFlags, in boolean doFullDraw);
- OSStatus DrawBackgroundRgn(in RgnHandle drawRgn, in AVIDType displayID,
- in DesktopAnimGraphicsPorts drawingPorts, in DesktopAnimFlags drawFlags,
- in boolean doFullDraw);
-
- /* Offscreen support */
- OSStatus CreateOffscreenGraphicsPorts(in SInt16 depth, in Rect boundsRect, in CTabHandle colorTable,
- out DesktopAnimOffscreenGraphicsPorts offDrawingPorts);
- void DisposeOffscreenGraphicsPorts(in DesktopAnimOffscreenGraphicsPorts offDrawingPorts);
- void SetOriginOffscreenGraphicsPorts(in Point newOrigin, in DesktopAnimOffscreenGraphicsPorts offDrawingPorts);
-
- /* Events */
- OSStatus HandleAppleEvent(in AppleEvent theAppleEvent, in AppleEvent reply);
- #if USE_OLD_WINDOWREFS
- OSStatus SetModuleMode(in DesktopAnimFlags drawFlags, in RgnHandle fullRgn, in WindowRef drawWindow,
- inout AbsoluteTime nextAnimateTime);
- #else
- OSStatus SetModuleMode(in DesktopAnimFlags drawFlags, in RgnHandle fullRgn, in HIWindow drawWindow,
- inout AbsoluteTime nextAnimateTime);
- #endif
- OSStatus UpdateModuleProperty(in CollectionTag tag, in UInt32 propDataSize, in void* propData,
- inout AbsoluteTime nextAnimateTime, out boolean needsRedraw);
-
- /* Accessors */
- DesktopAnimDraw GetBackgroundDrawer();
- void GetModuleInfo(out DesktopAnimModuleInfo moduleInfo);
- void SetBackgroundDrawer(in DesktopAnimDraw backgroundDrawer);
- void SetModuleInfo(in DesktopAnimModuleInfo moduleInfo);
-
- /* attributes */
- attribute boolean fAnimates;
- attribute RgnHandle fDesktopRgn;
- #if USE_OLD_WINDOWREFS
- readonly attribute WindowRef fDrawWindow;
- #else
- readonly attribute HIWindow fDrawWindow;
- #endif
-
- #ifdef __SOMIDL__
- implementation
- {
- passthru C_h = "#include <Events.h>"
- "#include <Quickdraw.h>"
- #if USE_OLD_WINDOWREFS
- ;
- #else
- "#include <HIWindows.h>";
- #endif
-
- passthru C_xh = "#include <Events.h>"
- "#include <Quickdraw.h>"
- #if USE_OLD_WINDOWREFS
- ;
- #else
- "#include <HIWindows.xh>";
- #endif
-
-
- /* Release Order. Note, only append to the end of this
- * list, so that the base class is forward compatible. */
- releaseorder: fDesktopRgn, fDrawWindow, fAnimates,
-
- _get_fDesktopRgn, _set_fDesktopRgn, _get_fDrawWindow,
- _get_fAnimates, _set_fAnimates,
- Initialize, Open, Close, OpenRequest, CloseRequest,
- Draw, DrawBackgroundRgn, HandleAppleEvent, SetModuleMode,
- UpdateModuleProperty, GetModuleInfo,
- GetBackgroundDrawer, SetBackgroundDrawer, Animate,
- SetModuleInfo, GetAnimateDrawingRgn, CreateOffscreenGraphicsPorts,
- DisposeOffscreenGraphicsPorts, SetOriginOffscreenGraphicsPorts;
- };
- #endif
- };
-
- #endif
-